package com.pig4cloud.pig.module.api.entity.charger;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 充电设备对象 charger
 *
 * @author ruoyi
 * @date 2022-05-07
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("charger")
public class Charger implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

	/**
	 * 是否是执行小区标准 0 - 不执行 1 - 执行
	 */
	private Integer isEstate;

    /**
     * 所在小区
     */
    private Integer estateId;

	/**
	 *  充电规则id
	 */
	private Integer chargerRoleId;

    /**
     * 充电器名称
     */
    private String chargerName;

	/**
	 *  设备sn 编号
	 */
	private String chargerSn;
    /**
     * 充电器编号
     */
    private String chargerNum;

    /**
     * 地址
     */
    private String address;

    /**
     * 所在省份
     */
    private String prov;

    /**
     *  所在城市
     */
    private String city;

	/**
	 *  所在区县
	 */
	private String district;

    /**
     * 设备状态
     */
    private Integer state;

    /**
     * 设备二维码
     */
    private String qrCode;

    /**
     * 经度
     */
    private BigDecimal lng;

    /**
     * 纬度
     */
    private BigDecimal lat;

    /**
     * 添加时间
     */
    @TableField(fill = FieldFill.INSERT)
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 在线状态
     */
    private Integer onlineState;

    /**
     * 最后在线时间
     */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastOnlineTime;

    /**
     * 插口数量
     */
    private Integer pointCount;

    /**
     * 充电单价
     */
    private BigDecimal singlePrice;

	/**
	 * 流量卡编号
	 */
	private String simCardNum;

    /**
     * $column.columnComment
     */
    private String remark;

	/**
	 * 最后离线时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date lastOfflineTime;

	/**
	 * 负责人微信用户id
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Long managerWxUserId;

	/**
	 * 负责人微信昵称
	 */
	private String managerNickName;

	/**
	 * 负责人手机号
	 */
	private String managerPhone;

	/**
	 * 是否免费  0 - 不免费 1 - 免费
	 */
	private Integer isFree;

	/**
	 *  收费规则类型
	 */
	private Integer chargerRoleType;

	/**
	 * 免费开始时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date freeBeginTime;

	/**
	 * 免费结束时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date freeEndTime;


	/**
	 *  最大可接收充电功率，超过断电
	 */
	private Double maxPower;
	/**
	 *  添加功率
	 */
	private Double addPower;

    @TableField(exist = false)
	private String estateName;

    @TableField(exist = false)
	private String[] dateRange;

	@TableField(exist = false)
	private String[] provinceArray;
}
